package com.wsd.music.service;

import com.wsd.music.entity.Song;

import java.util.List;

public interface SongService {


    /**
     * 新增歌曲
     * @param song
     * @return
     */
    boolean insert(Song song);

    /**
     * 修改歌曲信息
     * @param song
     * @return
     */
    boolean modify(Song song);

    /**
     * 通过ID删除歌曲
     * @param id
     * @return
     */
    boolean delete(int id);


    /**
     * 通过主键ID查询歌曲信息
     * @return
     */
    Song selectById(int id, boolean withLyrics);

    /**
     * 查询所有歌曲
     * @return
     */
    List<Song> selectAll(boolean withLyrics);

    /**
     * 通过歌曲名进行模糊查询
     * @return
     */
    List<Song> selectSongByName(String name, boolean withLyrics);

    /**
     * 根据歌名精确查询
     * @return
     */
    Song selectBySongName(String name);

    /**
     * 通过歌手查询歌曲
     * @return
     */
    List<Song> selectSongsBySingerId(int id, boolean withLyrics);

}
